const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
// 头部导航栏的高度
statusBarHeight: app.globalData.statusBarHeight,
// 订单状态
orderStatus:[
  {
    title:"全部"
  },
  {
    title:"待付款"
  },
  {
    title:"待发货"
  },
  {
    title:"待收货"
  },
  {
    title:"已完成"
  },
],
  // 订单状态切换下标
  active: 0,
  // 全部订单数据
  AllOrderData:null,
  // 待发货订单数据
  waitSendOut:null,
  // 待收货订单数据
  waitReceiving:null,
  // 待付款订单数据
  obligation:null,
  // 已完成订单数据
  done:null,
  
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
this.clicktab()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  goback(){
    wx.navigateBack({
      delta: 2
    })
  },
  clicktab(e){
    wx.showLoading({
      title: '数据加载中',
    })
    // onShow那里调用此方法的写法
    if(e==undefined){
     
          // 调用查询订单数据云函数
          wx.cloud.callFunction({
            name:"get_order_zero",
          }).then(res=>{
            console.log("查询全部订单数据",res);
            wx.hideLoading()
            if(res.result.data.length>0){
              // 保存订单数据
              this.setData({
                AllOrderData:res.result.data
              })
              console.log(this.data.AllOrderData);
            }
          }).catch(err=>{
            console.log("查询全部订单数据",err);
            wx.hideLoading()
          })
        // 点击tab
    }else{
      // let index = e.detail.index
      this.setData({
        active:e.detail.index
      })
      if(e.detail.index==0){
        // 调用查询订单数据云函数
       
        wx.cloud.callFunction({
          name:"get_order_zero",
        }).then(res=>{
          console.log("查询全部订单数据",res);
          wx.hideLoading()
          if(res.result.data.length>0){
            // 保存订单数据
            this.setData({
              AllOrderData:res.result.data
            })
            console.log(this.data.AllOrderData);
          }
        }).catch(err=>{
          console.log("查询全部订单数据",err);
          wx.hideLoading()
        })
        // 待发货订单
      }else if(e.detail.index==2){
       
        // 调用查询订单数据云函数 查询订单状态为2的订单
        wx.cloud.callFunction({
          name:"get_order",
          data:{
            status:2
          }
        }).then(res=>{
          console.log("查询待发货订单数据",res);
          wx.hideLoading()
          if(res.result.data.length>0){
            // 保存待发货订单数据
            this.setData({
              waitSendOut:res.result.data
            })
          }
          console.log(this.data.waitSendOut);

        }).catch(err=>{
          console.log("查询待发货订单数据",err);
          wx.hideLoading()
        })
        // 待收货订单数据
      }else if(e.detail.index==3){
       
        // 查询订单状态为3的订单数据
        wx.cloud.callFunction({
          name:"get_order",
          data:{
            status:3
          }
        }).then(res=>{
          console.log("查询待收货订单数据",res);
          wx.hideLoading()
          if(res.result.data.length>0){
            this.setData({
              waitReceiving:res.result.data
            })
            console.log(this.data.waitReceiving);
          }
        }).catch(err=>{
          console.log("查询待收货订单数据",err);
          wx.hideLoading()
        })
      
      }else if(e.detail.index==4){
       
        // 查询订单状态为4的订单数据
        wx.cloud.callFunction({
          name:"get_order",
          data:{
            status:4
          }
        }).then(res=>{
          console.log("查询已完成订单数据",res);
          wx.hideLoading()
          if(res.result.data.length>0){
            this.setData({
              done:res.result.data
            })
            console.log(this.data.done);
          }
        }).catch(err=>{
          console.log("查询已完成订单数据",err);
          wx.hideLoading()
        })
       
        // 查询订单状态为1的订单
      }else{
       
        wx.cloud.callFunction({
          name:"get_order",
          data:{
            status:1
          }
        }).then(res=>{
          wx.hideLoading()
          console.log("查询待付款的订单数据",res);
          if(res.result.data.length>0){
            this.setData({
              obligation:res.result.data
            })
          }
        
        }).catch(err=>{
          wx.hideLoading()
          console.log("查询待付款的订单数据",err);
          
        })
      }
    }
console.log(e);

// wx.showLoading({
//   title: '数据加载中',
// })

  },

  // 立即发货 
  sendOut(e){
    let that = this
    wx.showLoading({
     
    })
    // 获取当前订单的id
    let orderId = e.target.dataset.orderid
    for(let i=0;i<that.data.waitSendOut.length;i++){
      if(that.data.waitSendOut[i]._id==orderId){
        that.data.waitSendOut.splice(i,1)
      }
    }
    // 更新数据
    this.setData({
      waitSendOut:that.data.waitSendOut
    })
    // console.log(e);
    // console.log(orderId);
    // 调用修改订单状态云函数 修改状态为3
    wx.cloud.callFunction({
      name:"amend_order_status",
      data:{
        orderId:orderId,
        status:3
      }
    }).then(res=>{
      console.log("立即发货",res);
      wx.hideLoading()
      if(res.result.stats.updated>0){
        wx.showToast({
          title: '发货成功',
        })
      }
    }).catch(err=>{
      wx.hideLoading()
      console.log("立即发货",err);
    })
  },

  // 确认收货
  affirmReceiving(e){
    let that = this
    wx.showLoading({
      title: '加载中',
    })
    // 获取当前订单的id
    let orderId = e.target.dataset.orderid
    for(let i=0;i<that.data.waitReceiving.length;i++){
      if(that.data.waitReceiving[i]._id==orderId){
        that.data.waitReceiving.splice(i,1)
      }
    }
    // 更新数据
    that.setData({
      waitReceiving:that.data.waitReceiving
    })
    // 修改订单状态为4
    wx.cloud.callFunction({
      name:"amend_order_status",
      data:{
        orderId:orderId,
        status:4
      }
    }).then(res=>{
      console.log("确认收货",res);
      wx.hideLoading()
      if(res.result.stats.updated>0){
        wx.showToast({
          title: '收货成功',
        })
      }
    }).catch(err=>{
      wx.hideLoading()
      console.log("确认收货",err);
    })
  },

  // 立即付款
  immediatePayment(e){
    let that = this
    wx.showModal({
      title: '支付订单',
      content: '确定支付吗',
      success (res) {
        if (res.confirm) {
          // 点击确定修改订单状态为2
           // 获取当前订单的id
           wx.showLoading({
            
           })
    let orderId = e.target.dataset.orderid
    console.log(that.data.obligation);
    

    // console.log(e);
    console.log(orderId);
    // 调用修改订单状态云函数 修改状态为3
    wx.cloud.callFunction({
      name:"amend_order_status",
      data:{
        orderId:orderId,
        status:2
      }
    }).then(res=>{
      wx.hideLoading()
      console.log("立即付款",res);
      
      if(res.result.stats.updated>0){
        wx.showToast({
          title: '付款成功',
        })
        if(that.data.obligation!==null){

        for(let i=0;i<that.data.obligation.length;i++){
          if(that.data.obligation[i]._id==orderId){
            console.log(i);
            that.data.obligation.splice(i,1)
          }
        }
      }

        // 更新数据
        that.setData({
          obligation:that.data.obligation
        })
      }
    }).catch(err=>{
      wx.hideLoading()
      console.log("立即付款",err);
    })
          // console.log('用户点击确定')
        } else if (res.cancel) {
          wx.showToast({
            title: '请尽快付款哦~',
            duration: 2000,
            icon:'none'
          })
          return
        }
      }
    })
  },

  // 取消订单
  cancelOrder(e){
     // 获取当前订单的id

     let orderId = e.target.dataset.orderid
     wx.showModal({
      title: '取消订单',
      content: '确定取消订单吗',
      success (res) {
        if (res.confirm) {
          wx.showLoading({

          })
        //  删除该条订单数据
        wx.cloud.callFunction({
          name:"remove_order",
          data:{
            orderId,
          }
        }).then(res=>{
          wx.hideLoading()
          console.log("取消订单",res);
          if(res.result.stats.removed>0){
            wx.showToast({
              title: '订单已取消',
            })
          }
        }).catch(err=>{
          wx.hideLoading()
          console.log("取消订单",err);
        })
        } else if (res.cancel) {
          return
        }
      }
    })
  },

  // 删除订单
  removeOrder(e){
    let that = this
           // 获取当前订单的id
     let orderId = e.target.dataset.orderid
   
     wx.showModal({
      title: '删除订单',
      content: '确定删除订单吗',
      success (res) {
        if (res.confirm) {
          wx.showLoading({
          
          })
        //  删除该条订单数据
        wx.cloud.callFunction({
          name:"remove_order",
          data:{
            orderId,
          }
        }).then(res=>{
          wx.hideLoading()
          console.log("删除订单",res);
          if(res.result.stats.removed>0){
            wx.showToast({
              title: '删除成功',
            })

            for(let i=0;i<that.data.done.length;i++){
              if(that.data.done[i]._id==orderId){
                that.data.done.splice(i,1)
              }
            }
           //  更新数据
           that.setData({
             done:that.data.done
           })
          }
        }).catch(err=>{
          wx.hideLoading()
          console.log("删除订单",err);
        })
        } else if (res.cancel) {
          return
        }
      }
    })
  }

})